/* 
 * Funciones JS para el registro
 */

//asignamos el evento al boton
$('#btn_registro').click(registrarse); 


function registrarse()
{
    //borramos las cruces que aparecen en los errores
    inicializarErrores();
    
    //variable que nos indica si hay errores ne la validacion
    var hayErrores = false;
    
    //Comprobamos que no hay campos vacios
    if($('#reg_nombre').val() == "")
    {   
        mostrarErrorEn('error_nombre','  el campo Nombre no puede ir vacio, por favor rellénelo');
        
        //hacemos focus en el input si es el primer error
        if(!hayErrores) 
            $('#reg_nombre').focus();
        
        hayErrores = true;
        
    }
    else
    {
    //TODO: comprobar que no tenga numeros
            
    }
    
    if($('#reg_apellido').val() == "")
    {   
        mostrarErrorEn('error_apellido','  el campo Apellido no puede ir vacio, por favor rellénelo');
        
        //hacemos focus en el input si es el primer error
        if(!hayErrores) 
            $('#reg_apellido').focus();
        
        hayErrores = true;
    }
    
    if($('#reg_email').val() == "")
    {   
        mostrarErrorEn('error_email','  el campo Email no puede ir vacio, por favor rellénelo');
        
        //hacemos focus en el input si es el primer error
        if(!hayErrores) 
            $('#reg_apellido').focus();
        
        hayErrores = true;
    }
    
    if($('#reg_nick').val() == "")
    {   
        mostrarErrorEn('error_nick','  el campo Nick no puede ir vacio, por favor rellénelo');
        
        //hacemos focus en el input si es el primer error
        if(!hayErrores) 
            $('#reg_nick').focus();
        
        hayErrores = true;
    }
    
    if($('#reg_pass').val() == "")
    {   
        mostrarErrorEn('error_pass','  el campo Contraseña no puede ir vacio, por favor rellénelo');
        
        //hacemos focus en el input si es el primer error
        if(!hayErrores) 
            $('#reg_pass').focus();
        
        hayErrores = true;
    }
    
    if($('#reg_confirm_pass').val() == "")
    {   
        mostrarErrorEn('error_confirm_pass','  el campo de confirmación de la contraseña no puede ir vacio, por favor rellénelo');
        
        //hacemos focus en el input si es el primer error
        if(!hayErrores) 
            $('#reg_confirm_pass').focus();
        
        hayErrores = true;
    }
    
    
    //una vez comprobamos que los campos no estan vacios
    if(!hayErrores)
    {
        //comprobamos que las contraseñas coninciden
        if($('#reg_confirm_pass').val() != $('#reg_pass').val())
        {   
            mostrarErrorEn('error_confirm_pass','  las contraseñas no coinciden.');
        
            //hacemos focus en el input si es el primer error
            if(!hayErrores) 
                $('#reg_pass').focus();
        
           
        }
        //hacemos la solicitud de registro
        else
        {
            
            var values = {};
            
            //recuperamos todos los imputs
            var _inputs = $(':input');
            
            _inputs.each(function() {
                values[this.name] = $(this).val();
            });
            
            $.ajax({
        
                type : 'POST',
                url : 'doRegistro.php',
                dataType : 'json',
                data: values,
                success : function(data){
                    
                    //si hay error
                    if(data && data.error)
                    {
                        switch(data.error)
                        {
                            //error general
                            case '0':mostrarErrorEn('error_general', data.desc);break;
                            case 'nick': mostrarErrorEn('error_nick', data.desc);break;
                            case 'email': mostrarErrorEn('error_email', data.desc);break;
                        }
                            
                            
                    }
                },
                error : function(XMLHttpRequest, textStatus, errorThrown) {
                    alert('errorrrr!');
                }
            });
                
        }       
    }
}

function mostrarErrorEn(id, texto)
{
    //mostramos el div
    $('#'+id).show();
    
    //le añadimos el mensaje de error
    $('#'+id).append('<img src="../images/cruzRoja.jpg" class="img_error"><span class="texto_error">'+ texto +'</span>');
}

function inicializarErrores()
{
    $('#error_nombre').empty();
    $('#error_apellido').empty();
    $('#error_email').empty();
    $('#error_nick').empty();
    $('#error_pass').empty();
    $('#error_confirm_pass').empty();
    $('#error_general').empty();
    
}